package util;

import com.esotericsoftware.kryonet.Connection;
import server.display.ClientControl;
import server.display.ClientRemoteDesktop;

public class Client {

    private Connection connection;
    private ClientControl clientControl;
    private ClientRemoteDesktop clientRemoteDesktop;

    public String version;
    public String ipExternal;
    public String ipInternal;
    public String username;
    public String hostname;
    public String osName;
    public String osVersion;
    public String osArchitecture;
    public String javaVersion;
    public String cdDrive;
    public String tempDirectory;
    public String desktopDirectory;
    public String userDirectory;
    public String systemDirectory;
    
    public boolean idling = false;
    
    public Client(Connection connection) {
        this.connection = connection;
    }

    public Connection getConnection() {
        return connection;
    }
    
    public void setClientControl(ClientControl clientControl) {
        this.clientControl = clientControl;
    }
    
    public ClientControl getClientControl() {
        return clientControl;
    }
    
    public void setClientRemoteDesktop(ClientRemoteDesktop clientRemoteDesktop) {
        this.clientRemoteDesktop = clientRemoteDesktop;
    }
    
    public ClientRemoteDesktop getClientRemoteDesktop() {
        return clientRemoteDesktop;
    }

    @Override
    public String toString() {
        return String.format("%s [%s / %s]", ipExternal, hostname, username);
    }
}
